package com.study.model.mdao;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.alibaba.fastjson.JSONObject;
import com.study.model.pojo.Colle;
import com.study.model.pojo.Customer;

@Mapper
public interface OpportunityMapper {
	/**
	 * 查询所有
	 *
	 */
	List<JSONObject> selectAll();

	List<JSONObject> selectAll1();

	/**
	 * 按照条件查询
	 * @param cusid 
	 */

	List<JSONObject> selectByWhere(@Param("state") String state, @Param("priority") String priority,
			@Param("input") String input, @Param("cusid")Integer cusid);
    /**
     * 添加
     * @param theme
     * @param cusid
     * @param state1
     * @param type1
     * @param linid
     * @param laiyuan1
     * @param userid
     * @param demand
     * @param possbity
     * @param exprice
     * @param youxian1
     * @param stage1
     * @param exdate1
     * @param date
     * @return
     */
	boolean insertopp(@Param("name") String theme,@Param("cusid") String cusid, @Param("state") int state1, 
			          @Param("type") int type1,@Param("linid") int linid,  @Param("source") int laiyuan1, 
			          @Param("userid") String userid,@Param("need") String demand, @Param("possible") String possbity,
			          @Param("money")double exprice, @Param("priority") int youxian1,@Param("stage") int stage1,
			          @Param("signDate") Date exdate1,  @Param("discovertime") Date date,@Param("date") Date date1);
	/**
	 * 根据id查询
	 * Wcx
	 * @param id
	 * @return
	 */
	JSONObject selectByid(@Param("oppid")int id);
	
	
	boolean updateopport(@Param("oppid") int oppid,
			@Param("name") String theme, 
	          @Param("cusid") int cusid, 
	          @Param("state") int state1, 
	          @Param("type") int type1, 
	          @Param("linid") int linid,
	          @Param("source") int laiyuan1, 
	          @Param("userid") int userid, 
	          @Param("need") String demand,
	          @Param("possible") String possbity,
	          @Param("money")double exprice,
	          @Param("priority") int youxian1,
	          @Param("stage") int stage1,
	          @Param("signDate") Date exdate1, 
	          @Param("discovertime") Date date);
	
	/**
	 * 查询对应客户id的销售机会
	 * @param id
	 * @return
	 */
	List<JSONObject> findByCusId(Integer id);
/**
 * 查询销售机会//员工
 * @param state
 * @param priority
 * @param input
 * @param useid
 * @param cusid 
 * @return
 */
	List<JSONObject> selectByWhereUse(@Param("state") String state, @Param("priority") String priority,
			@Param("input") String input, @Param("useid") String useid,@Param("cusid") Integer cusid);

	
    /**
     * 改为商务谈判
     * @param opp
     * @param stage
     * @return
     */
	boolean updatedd(@Param("opp")String opp);	
	/**
     * 改为投标竞争
     * @param opp
     * @param stage
     * @return
     */
	boolean updatecom(@Param("opp")String opp);	
	/**
     * 改为方案制定
     * @param opp
     * @param stage
     * @return
     */
	boolean updatesolu(@Param("opp")String opp);
	
	/**
     * 改为初期沟通
     * @param opp
     * @param stage
     * @return
     */
	boolean updatedem(@Param("opp")String opp);
    /**
     * 销售机会视图
     * @param id
     * @return
     */
	List<JSONObject> selectView(@Param("opp")String id);
    /**
     * 查找某一销售机会的各个阶段数量
     * @param id
     * @return
     */
	JSONObject selectCount(@Param("opp")String id);
	
	/**
	 * 根据客户id查询所有记录
	 * @param id
	 * @return
	 */
	Integer findCountById(String id);
	
}

